GM.Name 	= "Ascension"
GM.Author 	= "Ricki 'Anima' Hales and Marc 'Kathar' Hales"
GM.Email 	= ""
GM.Website 	= "kathar.net"

GM.Help		= "OBJECTIVES\nYour objective is simple: help your team reach the top of the level before anyone else does.\n\nThere are 3 checkpoints you must reach to win, reach these by spawning and stacking blocks for you to climb on.\n\n\nOBJECTIVES\nThere are few controls to remember, but using them properly can take practice!\n\n - Grab/Drop: USE (Default: E)\n - Map Overview: F3\n\nTo throw a block, quickly look in the opposite direction and tap USE to fling it while its momentum is built up."

DeriveGamemode( "fretta" )
IncludePlayerClasses()					// Automatically includes files in "gamemode/player_class"
 
GM.TeamBased = true					// Team based game or a Free For All game?
GM.AllowAutoTeam = true
GM.AllowSpectating = true
GM.SecondsBetweenTeamSwitches = 10
GM.GameLength = 15
GM.RoundLimit = 10					// Maximum amount of rounds to be played in round based games
GM.VotingDelay = 5					// Delay between end of game, and vote. if you want to display any extra screens before the vote pops up
 
GM.NoPlayerSuicide = false
GM.NoPlayerDamage = true
GM.NoPlayerSelfDamage = true		// Allow players to hurt themselves?
GM.NoPlayerTeamDamage = true		// Allow team-members to hurt each other?
GM.NoPlayerPlayerDamage = true 	// Allow players to hurt each other?
GM.NoNonPlayerPlayerDamage = true 	// Allow damage from non players (physics, fire etc)
GM.NoPlayerFootsteps = false		// When true, all players have silent footsteps
GM.PlayerCanNoClip = false			// When true, players can use noclip without sv_cheats
GM.TakeFragOnSuicide = false			// -1 frag on suicide
 
GM.MaximumDeathLength = 0			// Player will respawn if death length > this (can be 0 to disable)
GM.MinimumDeathLength = 5			// Player has to be dead for at least this long
GM.AutomaticTeamBalance = false     // Teams will be periodically balanced 
GM.ForceJoinBalancedTeams = false	// Players won't be allowed to join a team if it has more players than another team
GM.RealisticFallDamage = false
GM.AddFragsToTeamScore = false		// Adds player's individual kills to team score (must be team based)
 
GM.NoAutomaticSpawning = true		// Players don't spawn automatically when they die, some other system spawns them
GM.RoundBased = true				// Round based, like CS
GM.RoundLength = 60 * 10			// Round length, in seconds
GM.RoundPreStartTime = 3			// Preperation time before a round starts
GM.RoundPostLength = 20				// Seconds to show the 'x team won!' screen at the end of a round
GM.RoundEndsWhenOneTeamAlive = false	// CS Style rules
 
GM.EnableFreezeCam = false			// TF2 Style Freezecam
GM.DeathLingerTime = 0				// The time between you dying and it going into spectator mode, 0 disables
 
GM.SelectModel = true               // Can players use the playermodel picker in the F1 menu?
GM.SelectColor = false				// Can players modify the colour of their name? (ie.. no teams)
 
GM.PlayerRingSize = 48              // How big are the colored rings under the player's feet (if they are enabled) ?
GM.HudSkin = "SimpleSkin"
 
GM.ValidSpectatorModes = { OBS_MODE_FIXED }
GM.ValidSpectatorEntities = { "player" }	// Entities we can spectate
GM.CanOnlySpectateOwnTeam = false // you can only spectate players on your own team

TEAM_ORANGE = 1
TEAM_GREEN = 2
TEAM_RED = 3
TEAM_BLUE = 4


function GM:CreateTeams()

	if ( !GAMEMODE.TeamBased ) then return end
	
	team.SetUp( TEAM_ORANGE, "Team Orange", Color( 255, 169, 64 ), true )
	team.SetSpawnPoint( TEAM_ORANGE, "info_player_deathmatch" )
	
	team.SetUp( TEAM_GREEN, "Team Green", Color( 150, 253, 73 ) )
	team.SetSpawnPoint( TEAM_GREEN, "info_player_combine", true )
	
	team.SetUp( TEAM_RED, "Team Red", Color( 255, 75, 67 ) )
	team.SetSpawnPoint( TEAM_RED, "info_player_rebel", true )
	
	team.SetUp( TEAM_BLUE, "Team Blue", Color( 39, 186, 255 ) )
	team.SetSpawnPoint( TEAM_BLUE, "info_player_start", true )
	
	team.SetUp( TEAM_SPECTATOR, "Spectators", Color( 200, 200, 200 ), true )
	team.SetSpawnPoint( TEAM_SPECTATOR, { "info_player_start", "info_player_rebel", "info_player_combine", "info_player_deathmatch" } ) 

end

